#include <iostream>

class Rectangle
{
private:
	double m_length{ 1.0 };
	double m_width{ 1.0 };

public:

	// 注意：没有默认构造函数

	Rectangle(double length, double width)
		: m_length{ length },
		  m_width{ width }
	{
		// m_length 和 m_width 会被构造函数初始化（不会使用它们的默认值）
	}

	// Rectangle(double length)
	//  : m_length{ length }
	// {
	//  // m_length 被构造函数初始化
	//  // m_width 则使用默认值 1.0
	// }

	void print()
	{
		std::cout << "length: " << m_length << ", width: " << m_width << '\n';
	}

};

int main()
{
	Rectangle x{ 2.0, 3.0 };
	x.print();

	// Rectangle y{ 4.0 };
	// y.print();

	return 0;
}
